<html>
<head>
    <title>XBRLAPI: Getting started</title>
    <link rel="stylesheet" href="/css/styles.css" type="text/css"/>
    <script type="text/javascript">
        var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
        document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type="text/javascript">
        try {
            var pageTracker = _gat._getTracker("UA-11401995-1");
            pageTracker._setDomainName("none");
            pageTracker._setAllowLinker(true);
            pageTracker._trackPageview();
        } catch (err) {
        }</script>
</head>


<body>

<div class="logo_container">
	<span class="logo">
		<a class="title" href="/">XBRLAPI</a>
	</span>
	<span class="logo_subscript">
		<a class="title" href="http://en.wikipedia.org/wiki/Free_and_open_source_software">Free Open-Source Software</a>
	</span>
</div>

<div id="navcontainer">
    <form action="http://www.xbrlapi.org/search.html" id="cse-search-box">
        <div>
            <input type="hidden" name="cx" value="partner-pub-3957505011939955:jqid48zd81o"/>
            <input type="hidden" name="cof" value="FORID:10"/>
            <input type="hidden" name="ie" value="ISO-8859-1"/>
            <input type="text" name="q" size="31"/>
            <input type="submit" name="sa" value="Search"/>
        </div>
    </form>

    <script
            type="text/javascript"
            src="http://www.google.com/cse/brand?form=cse-search-box&amp;lang=en">
    </script>

    <ul id="navlist">
        <li><a href="/">Home</a></li>
        <li><a href="/installationDocumentation/">Installation</a></li>
        <li><a href="/examples/">Examples</a></li>
        <li><a href="gettingStartedOnWindows.html">MS Windows Guide</a></li>
    </ul>

    <script type="text/javascript"><!--
    google_ad_client = "pub-3957505011939955";
    /* XBRLAPI site */
    google_ad_slot = "4927123290";
    google_ad_width = 160;
    google_ad_height = 600;
    //-->
    </script>
    <script type="text/javascript"
            src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>

</div>

<div class="content">
    <h1>
        XBRLAPI installation and configuration
    </h1>

    <h2>
        Overview
    </h2>

    <p>This page is relevant to those looking to use XBRLAPI in
        their own environment. XBRLAPI can appear daunting but the first steps
        are not difficult and most of the challenges relate to getting the
        underlying data stores that XBRLAPI relies upon up and running.</p>

    <p>Many of the suggestions put forward in this document only cover one
        way of achieving the desired result, an operational XBRLAPI
        installation. Please follow the suggestions at your own discretion. None
        of the contributors to XBRLAPI accept responsibility for adverse results
        of any kind caused by following these suggestions or using the XBRLAPI.
    </p>

    <p>For those looking for examples showing how to exercise the API provided by
        XBRLAPI, the best place to look is in the examples module where a very simple
        data loading example is provided and where a more detailed and realistic
        XBRL instance rendering example is also provided. You can also investigate the unit-testing code. This is
        distributed
        in the source code archive available as a file release from
        <a href="http://sourceforge.net/project/showfiles.php?group_id=135539">Sourceforge.</a></p>

    <h2>JAR file-naming conventions</h2>

    <p>All XBRLAPI modules are released as compiled binaries in the form of JAR files.
        Each JAR file has a name that identifies the module and the date on which it was
        generated. The source code for each module is also made available for download in
        a ZIP archive. ZIP archives follow an identical naming convention to the JAR files.</p>

    <h2>Modularisation</h2>

    <p>The XBRLAPI is now configured in a modular fashion to minimise the number
        of third party JAR dependencies for a particular installation. Thus, if you are
        setting up the XBRLAPI to use the in memory XML DOM representation of the data
        store, then you do not have to install the JAR files for the eXist, or
        the Oracle Berkeley Database XML data stores. This considerably simplifies setup
        and limits the potential for conflicts between the JAR files required as dependencies
        by different data store implementations.</p>

    <p>Modularisation has also split out the code for the handling
        of the XML Base, the XML Pointer and the XLink specifications. The modules for
        these specifications will always need to be installed, along with the core XBRLAPI
        module and the XBRLAPI utilities module if you are intending to using XBRLAPI. They have been
        split out to ensure that those with an interest in their functionality alone can avoid the rest
        of the XBRLAPI.</p>

    <p>
        The modules and their dependencies are as follows:
    </p>

    <table class="xbrlapi">
        <tr>
            <th>Module</th>
            <th>Purpose</th>
            <th>Required by:</th>
        </tr>
        <tr>
            <td>module-utilities</td>
            <td>Provides common functionality acr<a class="title"
                                                    href="http://en.wikipedia.org/wiki/Free_and_open_source_software">Free
                Open-Source Software</a> all other modules
            </td>
            <td>all other XBRLAPI modules</td>
        </tr>
        <tr>
            <td>module-api</td>
            <td>Provides the XBRLAPI API and implementation.</td>
            <td>all XBRLAPI data store modules</td>
        </tr>
        <tr>
            <td>module-xmlbase</td>
            <td>Provides an <a href="http://www.w3.org/TR/xmlbase/">XML Base</a> implementation</td>
            <td>xbrlapi-api module</td>
        </tr>
        <tr>
            <td>module-xlink</td>
            <td>Provides an <a href="http://www.w3.org/TR/xlink11/">XLink 1.1</a> implementation</td>
            <td>xbrlapi-api module</td>
        </tr>
        <tr>
            <td>module-xpointer</td>
            <td>Provides an <a href="http://www.w3.org/TR/2003/REC-xptr-framework-20030325/">XML Pointer</a>
                implementation
            </td>
            <td>xbrlapi-api module</td>
        </tr>
        <tr>
            <td>module-bdb-xml</td>
            <td>Provides the <a href="http://www.oracle.com/technology/documentation/berkeley-db/xml/index.html">
                Oracle Berkeley Database XML</a> persistent data store implementation.
            </td>
            <td>no modules</td>
        </tr>
        <tr>
            <td>module-exist</td>
            <td>Provides the stand-alone <a href="http://exist.sourceforge.net/">eXist</a>
                persistent data store implementation.
            </td>
            <td>no modules</td>
        </tr>
        <tr>
            <td>module-exist-embedded</td>
            <td>Provides the embedded <a href="http://exist.sourceforge.net/">
                eXist</a> persistent data store implementation.
            </td>
            <td>no modules</td>
        </tr>
        <tr>
            <td>module-examples</td>
            <td>Provides examples of data loading and XBRL instance rendering.</td>
            <td>no modules</td>
        </tr>
        <tr>
            <td>module-xdt</td>
            <td>Provides an extension to the XBRLAPI to deal with the XBRL Dimensions
                specification. This module remains experimental and unstable.
            </td>
            <td>no modules</td>
        </tr>
    </table>

    <p>
        If you are the kind of person that dislikes too many JARs then
        you might also like to instead work with the xbrlapi-X.X.jar (X.X is the version)
        file that combines all of the modularised XBRLAPI JAR file contents into the one JAR. This Jar
        file is downloadable from the Sourceforge website.
        That approach can lead to unnecessary dependencies but it is simple to make
        sure you have everything that is part of the XBRLAPI.
    </p>

    <p>
        <a href="http://sourceforge.net/projects/xbrlapi"><img
                src="http://sflogo.sourceforge.net/sflogo.php?group_id=135539&type=11" width="120" height="30"
                border="0"
                alt="Get Java XBRL API implementation at SourceForge.net. Fast, secure and Free Open Source software downloads"/></a>
    </p>

</div>

</body>
</html>
